package cn.pink.common.support.tools.session;

import cn.pink.core.support.Utils;

import java.io.Serializable;
import java.util.Map;

/**
 * 会话
 * 连接open - 创建session 绑定到 通道
 * 连接read - 先拿session 判断状态 进行分发
 * 连接close - 清session
 *
 * @Author: pink
 * @Date: 2022/6/23 18:48
 */
public class Session implements Serializable {
    /** session id */
    private final String id;

    /** session状态 0:登录中 1:游戏中 2:断开连接 */
    private int status;

    /** 存储一些额外数据 */
    private Map<String, Object> attrs;

    public Session() {
        this.id = Utils.nanoId();
    }

    public String getId() {
        return id;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public Map<String, Object> getAttrs() {
        return attrs;
    }
}
